Communications systems vary in performance depending on time and geographical location. To maintain service quality, communications providers perform network testing on an ongoing basis. Network tests can also be used to verify network installation and upgrades.
One traditional method of network testing is termed “drive testing”. A vehicle carrying testing equipment is driven through areas of a wireless communication service, and various parameters e.g. radio frequency (RF) signal strength, signal quality, etc., are continuously tested as the vehicle is driven across the coverage areas. The testing equipment carried around in the vehicle may include a cellular phone controlled by a computer to make and receive test calls, etc.
Due to cost and efficiency issues, the drive testing has been increasingly replaced by more sophisticated methods of testing engaging customers' individual communication devices as test probes. A common drawback of such systems is that the measured network parameters may or may not be related to a direct end user experience with the communications network. Nowadays, end users increasingly use cell phones not only for phone communications, but also for application-based data communications e.g. instant messaging. Furthermore, processing power available in today's smartphones enables a variety of applications such as social networking, Internet browsing, mapping, photo and video sharing, etc. Accordingly, a perceived quality of a network service may not necessarily be related to quality of the phone calls as such, but also, and increasingly so, by the perceived quality of these additional services. The additional services are provided by specialized software programs, or “apps”, installed on the smartphones.
In one prior art test system, a Virtual Network Computing (VNC) interface has been used to control a remote smartphone for test purposes. The VNC interfaces are typically used to remotely control computer equipment. The VNC interface includes a “VNC server” and a “VNC client”. The VNC server is disposed on the computer to be remotely controlled. The function of the VNC server is to emulate the user input e.g. key presses, mouse moves, and so on. The VNC server also functions as a screen grabber, sending computer's screen images back to the remote user. The VNC client is disposed at the user location. The function of the VNC client is to receive the user input and communicate the user input to the remotely disposed VNC server for simulation of the user input on the remote computer. It may also re-display the grabbed images to the user. In this way, a work computer can be reached and operated from home, and vice versa.
Referring to FIG. 1, such a test system 100 may include a remote management module 102 and a smartphone 104. The smartphone 104 has installed thereon a “target application” 106 and a VNC server 108. The remote management module 102 includes a VNC client 110 and a memory store 112. The remote management module 102 is configured to perform at least one automated operation of the target application 106 by sending a command 103 for the VNC server 108 to emulate a user action. One or more images of a target application graphical user interface are captured by the VNC server 108 and communicated via a VNC data link 109 to the VNC client 110. The images are analyzed by the VNC client 110 at the remote management module 102 to obtain performance data of the target application 106. The obtained performance data are stored in the memory store 112.
One drawback of the test system 100 is that the VNC data link 109 may consume a considerable portion of available data transfer bandwidth of a cellular network being tested. Transmitting the captured smartphone screenshots may cause a considerable network load, both for the cellular network being tested, and for the smartphone 104 participating in the test. Another drawback is that the management module 102 may be overwhelmed with image processing analysis tasks of the screen captures from multiple individual smartphones 104. These drawbacks effectively limit the number of smartphones that can participate simultaneously in the process of cellular network testing.